﻿using System;
using System.Web;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.ComponentModel;
using System.Collections.Generic;

namespace Dungeons_and_Dragons
{
    public class Power
    {
        private int? _id = null;

        public int? Id
        {
            get { return _id; }
            set { _id = value; }
        }
        private string _name = string.Empty;

        public string Name
        {
            get { return _name; }
            set { _name = value; }
        }
        private string _flavorText = string.Empty;

        public string FlavorText
        {
            get { return _flavorText; }
            set { _flavorText = value; }
        }
        private List<int?> _powerSources = new List<int?>();

        public List<int?> PowerSources
        {
            get { return _powerSources; }
            set { _powerSources = value; }
        }
        private List<int?> _damageTypes = new List<int?>();

        public List<int?> DamageTypes
        {
            get { return _damageTypes; }
            set { _damageTypes = value; }
        }
        private List<int?> _effectTypes = new List<int?>();

        public List<int?> EffectTypes
        {
            get { return _effectTypes; }
            set { _effectTypes = value; }
        }
        private UsageType _usageType = new UsageType();

        public UsageType UsageType
        {
            get { return _usageType; }
            set { _usageType = value; }
        }
        private Implement _implement = new Implement();

        public Implement Implement
        {
            get { return _implement; }
            set { _implement = value; }
        }
        private ActionType _actionType = new ActionType();

        public ActionType ActionType
        {
            get { return _actionType; }
            set { _actionType = value; }
        }
        private string _trigger = string.Empty;

        public string Trigger
        {
            get { return _trigger; }
            set { _trigger = value; }
        }
        private string _effect = string.Empty;

        public string Effect
        {
            get { return _effect; }
            set { _effect = value; }
        }
        private string _hit = string.Empty;

        public string Hit
        {
            get { return _hit; }
            set { _hit = value; }
        }
        private string _miss = string.Empty;

        public string Miss
        {
            get { return _miss; }
            set { _miss = value; }
        }
        private TargetType _targetType = new TargetType();

        public TargetType TargetType
        {
            get { return _targetType; }
            set { _targetType = value; }
        }
        private int? _level = null;

        public int? Level
        {
            get { return _level; }
            set { _level = value; }
        }
    }
}
